import re

# TODO 原生字符
# re_obj = re.search('abc','helloabcdefg')
# print(re_obj)

# TODO 元字符
# TODO ‘ . ’ 可以匹配任意1个字符（除了\n）
# print(re.search('he.', 'hello').group())
# print(re.search('he.', 'he-lo').group())
# print(re.search('he.', 'he/lo').group())
# print(re.search('he.', 'he\nlo'))  #　匹配不到

# TODO [ ]匹配[ ]中列举的字符
# print(re.search('he[123456abc=sa]', 'he2').group())
# print(re.search('he[123456abc=sa]', 'hea').group())
# print(re.search('he[123456abc=sa]', 'he+').group())   # 不能匹配
# print(re.search('he[0-9a-zA-Z]', 'hexxx').group())
# print(re.search('he[0-9a-zA-Z]', 'heFxx').group())
# print(re.search('he[0-9a-zA-Z]', 'he1030').group())

# TODO \d匹配数字，即0-9 = [0-9]
# print(re.search('he\d', 'he1').group())
# print(re.search('he\d', 'he0').group())
# print(re.search('he[0-9]', 'he0').group())
# print(re.search('he[0-9]', 'hea').group()) # 不能匹配

# TODO \D匹配非数字，即不是数字
# print(re.search('he\D', 'hea').group())
# print(re.search('he\D', 'he-').group())
# print(re.search('he\D', 'he<>').group())
# print(re.search('he\D', 'he1').group()) #不能匹配

# TODO \s匹配空白，即 空格，tab键
# print(re.search('he\s', 'he xsxdfd').group())
# print(re.search('he\s', 'he xsxdfd').group())
# print(re.search('he\s', 'he\nxsxdfd').group())
# print(re.search('he\s', 'he\rxsxdfd').group())
# print(re.search('he\s', 'he12xsxdfd').group()) #不能匹配

# TODO \w匹配非特殊字符，即a-z、A-Z、0-9、_、汉字　　［a-zA-Z0-9_\u4e00-\u9fa5］
# print(re.search('he\w', 'hexx').group())
# print(re.search('he\w', 'he你好').group())
# print(re.search('he\w', 'he1').group())
# print(re.search('he\w', 'he*').group())  #　不能匹配
# print(re.search('[\u4e00-\u9fa5][\u4e00-\u9fa5]', '132天气').group())
# print(re.search('he\w\w', 'he1ss').group())












